Information Classification is used in many organizations to enforce encryption and other protection methods (like blocking transmissions) on corporate sensitive information from unauthorized access and usage by users. It allows to enforce such protection methods based on business value and confidentiality levels. The proliferation of mobile devices as main enterprise productive tool should supply such capability as in other endpoint devices.
IRM mainly includes enforcement of access and usage rights, in order to determine which user will be able to perform actions on data, such as copy, drag/drop, print, print screen, save as, save and view operations. One of the features of IRM is the ability to classify data items that are generated or consumed by applications.
In many applications for mobile devices, software systems may be in use for a long time and may be modified for new features and added functionalities (such as classification and protection functionalities) demanded by users or organizations. Extensibility of such software systems (a system's ability to have extended new functionality while the system's internal structure and data flow are minimally or not affected) is so becomes very important. Extensibility enables developers to expand or add to the software's capabilities. Some of the approaches include facilities for allowing users' own program routines to be inserted and the abilities to define new data types as well as to define new formatting markup tags. However, there is a difficulty in creating a solution that allows adding capabilities or content adorations to a 3rd party application. This is even more severe in operation systems where applications runs mostly isolated from each other, like iOS (a mobile operating system developed by Apple Inc. and distributed exclusively for Apple hardware) and Android (a mobile operating system based on the Linux kernel), which allow very little methods for one vendor software package to interact with other vendor's software packages or with native (build-in) applications. Actually, the ability of a standard (third party) application to call other applications and/or process codes is very limited.
One of the existing solutions to this problem is to create a substitute application which includes the ability to classify, modify data items, and protect, in addition to all the inherent capabilities of the standard application. However, is very expensive to develop such a substitute application and in addition, it forces the user to replace his standard application, to which he is used to.
It is therefore an object to provide a method for supporting standard and third party applications and allowing enforcement of classification and protection capabilities by enabling data classification and data items manipulation, which does not interrupt the user's natural workflow.
It is another object to provide a method for enabling data classification and enforcement of encryption and Information Rights Management (IRM) capabilities in software applications, which will be generic for all standard applications.
Other objects and advantages will become apparent as the description proceeds.